<?php
class UserIdentity extends CUserIdentity {
	private $_id;
	private $_username;

	public function authenticate() {
		$username = strtolower($this->username);
		$user = User::model()->find('LOWER(username)=?',array($username));
		if(NULL === $user) {
			$this->errorCode = self::ERROR_USERNAME_INVALID;
		}
		elseif(!$user->validatePassword($this->password)) {
			$this->errorCode = self::ERROR_PASSWORD_INVALID;
		}
		else {
			$this->_id = $user->id;
			$this->_username = $user->username;
			$this->username = $user->username;
			$this->errorCode = self::ERROR_NONE;
		}
		return $this->errorCode === self::ERROR_NONE;
	}

	public function getId() {
		return $this->_id;
	}
	public function getUsername() {
		return $this->_username;
	}
}
